home *** CD-ROM | disk | FTP | other *** search
Modula Implementation | 1995-11-25 | 519 b | 28 lines |
- IMPLEMENTATION MODULE Storage;
-
- FROM SYSTEM IMPORT ADDRESS,VAL;
- FROM GEMDOS IMPORT Alloc,Free;
-
- PROCEDURE ALLOCATE(VAR a:ADDRESS; size :LONGCARD);
- BEGIN
- IF Available(size) THEN
- Alloc(size,a);
- ELSE
- a:=NIL;
- END(*IF*);
- END ALLOCATE;
-
- PROCEDURE DEALLOCATE(VAR a:ADDRESS);
- VAR done :BOOLEAN;
- BEGIN
- done:=Free(a);
- END DEALLOCATE;
-
- PROCEDURE Available(size:LONGCARD):BOOLEAN;
- VAR a:ADDRESS;
- BEGIN
- Alloc(-1,a);
- RETURN (VAL(LONGCARD, a)>=size);
- END Available;
- END Storage.
-